﻿//using System;
//using System.Collections.Generic;
//using System.Linq;
//using System.Text;
//using System.Data.SqlClient;
//using System.IO;
//using System.Configuration;

//namespace OSBM.Data
//{
//    public class Data
//    {
//        public Data()
//        {
           
//        }

//        private const string STR_BACKUP = @"BACKUP DATABASE OSBM " +
//        @"TO DISK = N'{0}' WITH NOFORMAT, NOINIT, " +
//        @"NAME = N'OSBM-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";

//        private const string STR_RESTORE = @"USE MASTER; DROP DATABASE OSBM; RESTORE DATABASE OSBM " +
//            @"FROM  DISK = N'{0}' WITH  FILE = 1, NOUNLOAD, STATS = 10";

//        public bool Checkconnect()
//        {
//            try
//            {
//                var data = new LinqMetaData();
//                var result = from a in data.Thanhvien
//                             select a;
//                if (result.ToList().Count > 0)
//                {
//                    return true;
//                }
//                return false;
//            }
//            catch
//            {
//                return false;
//            }
//        }

//        public bool CreateDatabase(string server, string database,bool accountWindow, string user, string pass)
//        {
//            try
//            {
//                System.Data.SqlClient.SqlConnection tmpConn;
//                string sqlCreateDBQuery = @"Resources\osbm.sql";
//                tmpConn = new SqlConnection();

//                string strLS = "";
//                string strMaster = "";

//                if (accountWindow)
//                {
//                    strLS = String.Format(@"Data Source={0};Initial Catalog={1};Integrated Security=True", server, database);
//                    strMaster = String.Format(@"Data Source={0};Initial Catalog=master;Integrated Security=True", server, database);
//                }
//                else
//                {
//                    strLS = String.Format(@"Data Source={0};Initial Catalog={1};Persist Security Info=True;User ID={2};Password={3}", server, database, user, pass);
//                    strMaster = String.Format(@"Data Source={0};Initial Catalog=master;Persist Security Info=True;User ID={2};Password={3}", server, database, user, pass);

//                }
//                var _config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
//                _config.ConnectionStrings.ConnectionStrings[0].ConnectionString = strLS;
//                _config.AppSettings.Settings.Clear();
//                _config.AppSettings.Settings.Add("Main.ConnectionString", strLS);
//                _config.Save(ConfigurationSaveMode.Modified);
//                ConfigurationManager.RefreshSection(_config.ConnectionStrings.SectionInformation.Name);
//                tmpConn.ConnectionString = strMaster;

//                if (File.Exists(sqlCreateDBQuery))
//                {
//                    ExecuteCommand(tmpConn, @"Use Master;Create Database OSBM Collate Vietnamese_Ci_Ai");


//                    FileInfo file = new FileInfo(sqlCreateDBQuery);
//                    file.IsReadOnly = false;
//                    string sql = file.OpenText().ReadToEnd();
//                    sql = sql.Replace("GO", ";");
//                    return ExecuteCommand(tmpConn, sql);
//                    //    }
//                }
//                else
//                {
//                    return false;
//                }
//            }
//            catch (Exception ex)
//            {
//                throw ex;
//            }

           
//        }

//        public bool Backup(string fileName)
//        {
//            try
//            {
//                System.Data.SqlClient.SqlConnection tmpConn;
//                tmpConn = new SqlConnection();
//                tmpConn.ConnectionString = "";
//                string sql = @sql = String.Format(STR_BACKUP, fileName);
//                ExecuteCommand(tmpConn, sql);
//                return true;
//            }
//            catch
//            {
//                return false;
//            }
//        }

//        public bool Restore(string fileName)
//        {
//            try
//            {
//                System.Data.SqlClient.SqlConnection tmpConn;
//                tmpConn = new SqlConnection();
//                tmpConn.ConnectionString = "";
//                string sql = @sql = String.Format(STR_RESTORE, fileName);
//                ExecuteCommand(tmpConn, sql);
//                return true;
//            }
//            catch (Exception e)
//            {
//                return false;
//            }
//        }

//        public bool ExecuteCommand(SqlConnection tmpConn, string command)
//        {
//            bool error = true;
//            SqlCommand myCommand = new SqlCommand(command, tmpConn);
//            try
//            {
//                tmpConn.Open();
//                myCommand.ExecuteNonQuery();
//            }
//            catch(Exception ex)
//            {
//                error = false;
//            }
//            finally
//            {
//                tmpConn.Close();
//            }
//            return error;
//        }


//    }
//}
